/*
 * PhysicalObject.h
 *
 *  Created on: 05.06.2012
 *      Author: sebastian
 */

#ifndef PHYSICALOBJECT_H_
#define PHYSICALOBJECT_H_

#include "physicals.h"
#include "Vec.h"


class PhysicalObject
{
private:
	int id_;
    Vec pos_;
    Vec dPos_;
    Kelvin temperature_;
    bool isSolid_;
    Meter radius_;
    Kilogram mass_;

    bool isActive_;
public:
    PhysicalObject();
    PhysicalObject(Vec where);
    bool getIsSolid() const;
    Vec getPos() const;
    Meter getRadius() const;
    Kelvin getTemperature() const;
    Vec getDPos() const;
    void setIsSolid(bool isSolid_);
    void setPos(Vec place_);
    void setRadius(Meter radius_);
    void setTemperature(Kelvin temperature_);
    void setDPos(Vec velocity_);
    void calculateNextPos();
    void setMass(Kilogram mass);
    Kilogram getMass() const;

    bool getIsActive() const;
    void setIsActive(bool b);
    void setActive();

    int getpId() const;
};

#endif /* PHYSICALOBJECT_H_ */
